package com.yunke.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.yunke.common.base.YunkeBaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 社交圈动态实体类
 * 
 * @author yunke
 * @since 1.0.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("dz_circle")
@Schema(description = "社交圈动态")
public class YunkeCircle extends YunkeBaseEntity {

    /**
     * 发布用户ID
     */
    @Schema(description = "发布用户ID")
    private Long userId;

    /**
     * 动态类型：1-纯文字 2-图片 3-视频 4-图文
     */
    @Schema(description = "动态类型：1-纯文字 2-图片 3-视频 4-图文")
    private Integer type;

    /**
     * 动态内容
     */
    @Schema(description = "动态内容")
    private String content;

    /**
     * 图片地址，多个用逗号分隔
     */
    @Schema(description = "图片地址，多个用逗号分隔")
    private String images;

    /**
     * 视频地址
     */
    @Schema(description = "视频地址")
    private String video;

    /**
     * 视频封面图
     */
    @Schema(description = "视频封面图")
    private String videoCover;

    /**
     * 定位地址
     */
    @Schema(description = "定位地址")
    private String location;

    /**
     * 经度
     */
    @Schema(description = "经度")
    private Double longitude;

    /**
     * 纬度
     */
    @Schema(description = "纬度")
    private Double latitude;

    /**
     * 是否允许评论：0-不允许 1-允许
     */
    @Schema(description = "是否允许评论：0-不允许 1-允许")
    private Integer allowComment;

    /**
     * 可见范围：1-所有人可见 2-仅好友可见 3-仅自己可见
     */
    @Schema(description = "可见范围：1-所有人可见 2-仅好友可见 3-仅自己可见")
    private Integer visibility;

    /**
     * 点赞数
     */
    @Schema(description = "点赞数")
    private Integer likeCount;

    /**
     * 评论数
     */
    @Schema(description = "评论数")
    private Integer commentCount;

    /**
     * 分享数
     */
    @Schema(description = "分享数")
    private Integer shareCount;

    /**
     * 浏览数
     */
    @Schema(description = "浏览数")
    private Integer viewCount;

    /**
     * 是否置顶：0-否 1-是
     */
    @Schema(description = "是否置顶：0-否 1-是")
    private Integer isTop;

    /**
     * 是否热门：0-否 1-是
     */
    @Schema(description = "是否热门：0-否 1-是")
    private Integer isHot;

    /**
     * 状态：0-已删除 1-正常 2-审核中 3-审核不通过
     */
    @Schema(description = "状态：0-已删除 1-正常 2-审核中 3-审核不通过")
    private Integer status;

    /**
     * 审核意见
     */
    @Schema(description = "审核意见")
    private String auditRemark;
} 